// 开启mongodb软件：net start mongodb


//引入第三方模块mongoose
const mongoose = require("mongoose");


// 用 mongoose.connect方法连接数据库：返回的值是promise对象
mongoose.connect("mongodb://localhost/playground2",{useNewUrlParser:true })
		.then(() => {console.log("数据库连接成功！")})
		.catch(err => {console.log(err,'数据库连接失败！')});


// 创建集合规则:调用mongoose.Schema这个构造函数创建实例对象（也是构造函数）
// 在 mongoose.Schema构造函数传入一个对象的参数
const userSchema = new mongoose.Schema({
	name:String,
	author:String,
	age:Number,
	email:String,
	password:String,
	hobbies:[String]


})


// 使用刚刚创建的用来创建集合的构造函数用 mongoose.model方法创建集合实例（也是构造函数）:产生的实际集合名称是users
let user = mongoose.model("User",userSchema );


// 创建文档
// user.create({name:"张三",author:"工程师14",age:18,email:"2293188960@qq.com",password:"123456",hpbbies:["跑步","跳远","游泳"]})
// 	.then(result =>{
// 		console.log(result)
// 	})	





//通过mongoimport导入现有数据库：先要将mongodb下的bin目录放到环境变量path中：mongoimport -d 数据库名称 -c 集合名称 --file/jsonArray 要插入的数据库地址

// 查询文档
// 1、查询文档方法一：集合.find（）方法，返回是promise对象，该方法返回结果是数组（即使只有一条文档）
 
 // user.find().then(result => console.log(result));
 // user.find({_id:"5ec677be0c6f19246096e995"}).then(result => console.log(result));

 // 2、文档查询方法2：集合.findone()方法，返回值是promise对象，该方法返回结果是对象不是数组
 user.findOne({author:"工程师13"}).then(result =>{console.log((result))});










